[INFO] fetching crate tmq 0.5.0...
[INFO] fixing tmq-0.5.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate tmq 0.5.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate tmq 0.5.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate tmq 0.5.0
[INFO] tweaked toml for crates.io crate tmq 0.5.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tmq 0.5.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tmq 0.5.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fdc2477e7674c176fa7718eced00b50e8bacc4ab1dab9b6adbcd854f20092c22
[INFO] running `Command { std: "docker" "start" "fdc2477e7674c176fa7718eced00b50e8bacc4ab1dab9b6adbcd854f20092c22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fdc2477e7674c176fa7718eced00b50e8bacc4ab1dab9b6adbcd854f20092c22" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fdc2477e7674c176fa7718eced00b50e8bacc4ab1dab9b6adbcd854f20092c22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fdc2477e7674c176fa7718eced00b50e8bacc4ab1dab9b6adbcd854f20092c22" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling winnow v0.6.20
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling indexmap v2.5.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling crossbeam-queue v0.3.11
[INFO] [stderr]    Compiling crossbeam-channel v0.5.13
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]    Compiling zmq v0.10.0
[INFO] [stderr]     Checking anstyle v1.0.8
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking bytes v1.7.2
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking once_cell v1.20.1
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling jwalk v0.8.1
[INFO] [stderr]     Checking clap_builder v4.5.18
[INFO] [stderr]     Checking oorandom v11.1.4
[INFO] [stderr]    Compiling dircpy v0.3.19
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking is-terminal v0.4.13
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]    Compiling cc v1.1.24
[INFO] [stderr]     Checking clap v4.5.18
[INFO] [stderr]    Compiling zeromq-src v0.2.6+4.3.4
[INFO] [stderr]     Checking regex v1.11.0
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]     Checking pretty_env_logger v0.5.0
[INFO] [stderr]    Compiling toml_edit v0.22.22
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v1.0.64
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]     Checking tokio v1.40.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling toml v0.8.19
[INFO] [stderr]     Checking thiserror v1.0.64
[INFO] [stderr]    Compiling system-deps v6.2.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling zmq-sys v0.12.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking tmq v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/socket_builder.rs (1 fix)
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 116 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl_sink!(Sender, buffer, poller);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 134 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl_sink!(Sender, buffer, poller);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 184 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:47:1
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl_buffered_stream!(BufferedReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_buffered_stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 116 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl_sink!(SenderReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 134 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl_sink!(SenderReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/poll.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |         while let Some(msg) = buffer.pop_front() {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |      |
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `msg` calls a custom destructor
[INFO] [stdout]     |                        `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 144 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 116 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl_sink!(Sender, buffer, poller);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 134 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl_sink!(Sender, buffer, poller);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 184 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:47:1
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl_buffered_stream!(BufferedReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_buffered_stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 116 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl_sink!(SenderReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/macros.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 134 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl_sink!(SenderReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/poll.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |         while let Some(msg) = buffer.pop_front() {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |      |
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `msg` calls a custom destructor
[INFO] [stdout]     |                        `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 144 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/reply.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed examples/reply.rs (1 fix)
[INFO] [stderr]    Migrating tests/push.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/utils.rs (2 fixes)
[INFO] [stderr]    Migrating tests/reply.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/request.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/request.rs (1 fix)
[INFO] [stderr]    Migrating tests/pull.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pull.rs:56:53
[INFO] [stdout]     |
[INFO] [stdout]  54 |     let ctx = Context::new();
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout]  55 |     let sock = pull(&ctx).bind(&address)?;
[INFO] [stdout]  56 |     hammer_receive(sock, address, SocketType::PUSH).await
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  57 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/lib.rs:391:1
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl Drop for RawContext {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pull.rs:64:68
[INFO] [stdout]     |
[INFO] [stdout]  62 |     let ctx = Context::new();
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout]  63 |     let sock = pull(&ctx).bind(&address)?;
[INFO] [stdout]  64 |     hammer_receive(sock.buffered(1024), address, SocketType::PUSH).await
[INFO] [stdout]     |                                                                    ^^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  65 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/lib.rs:391:1
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl Drop for RawContext {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/publish.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/dealer.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/dealer.rs (2 fixes)
[INFO] [stderr]    Migrating tests/router.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/dealer.rs:87:55
[INFO] [stdout]     |
[INFO] [stdout]  85 |     let ctx = Context::new();
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout]  86 |     let sock = dealer(&ctx).bind(&address)?;
[INFO] [stdout]  87 |     hammer_receive(sock, address, SocketType::DEALER).await
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  88 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/lib.rs:391:1
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl Drop for RawContext {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/dealer.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |         match sock.next().await { Some(multipart) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^-----
[INFO] [stdout]     |               |           |
[INFO] [stdout]     |               |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 112 |             let multipart = multipart?;
[INFO] [stdout]     |                 ---------   ----------
[INFO] [stdout]     |                 |           |
[INFO] [stdout]     |                 |           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `multipart` calls a custom destructor
[INFO] [stdout]     |                 `multipart` will be dropped later as of Edition 2024
[INFO] [stdout] 113 |
[INFO] [stdout] 114 |             assert_eq!(make_msg(i), multipart);
[INFO] [stdout]     |                        -----------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `multipart` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/subscribe.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/router.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout]  85 |     let ctx = Context::new();
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout]  86 |     let sock = router(&ctx).bind(&address)?;
[INFO] [stdout]  87 |     router_receive_hammer(sock, address).await
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  88 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/lib.rs:391:1
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl Drop for RawContext {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed examples/subscribe.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> examples/subscribe.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 |     while let Some(msg) = socket.next().await {
[INFO] [stdout]    |                    ---    ^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                    |      |             |
[INFO] [stdout]    |                    |      |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |      |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                    |      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    `msg` calls a custom destructor
[INFO] [stdout]    |                    `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 24 |             msg?.iter()
[INFO] [stdout]    |             ----
[INFO] [stdout]    |             |
[INFO] [stdout]    |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 28 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating benches/poll.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/pull.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed examples/pull.rs (1 fix)
[INFO] [stderr]    Migrating examples/client_worker.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> examples/pull.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 |     while let Some(msg) = socket.next().await {
[INFO] [stdout]    |                    ---    ^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                    |      |             |
[INFO] [stdout]    |                    |      |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |      |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                    |      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    `msg` calls a custom destructor
[INFO] [stdout]    |                    `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 22 |             msg?.iter()
[INFO] [stdout]    |             ----
[INFO] [stdout]    |             |
[INFO] [stdout]    |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 26 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Drop for Message {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/pair.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/pair.rs:56:53
[INFO] [stdout]     |
[INFO] [stdout]  54 |     let ctx = Context::new();
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout]  55 |     let sock = pair(&ctx).bind(&address)?;
[INFO] [stdout]  56 |     hammer_receive(sock, address, SocketType::PAIR).await
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  57 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/lib.rs:391:1
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl Drop for RawContext {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/request.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed examples/request.rs (1 fix)
[INFO] [stderr]    Migrating tests/subscribe.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/push.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/subscribe.rs:28:41
[INFO] [stdout]     |
[INFO] [stdout]  28 |           if let Ok(Some(Ok(incoming))) = timeout(Duration::from_millis(100), sub_sock.next()).await {
[INFO] [stdout]     |                             --------      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |             |                                                    |
[INFO] [stdout]     |                             |             |                                                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             |             |                                                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             |             |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |             |                                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             |             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `incoming` calls a custom destructor
[INFO] [stdout]     |                             `incoming` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 | /                 data.into_iter()
[INFO] [stdout]  32 | |                     .map(tmq::Message::from)
[INFO] [stdout]  33 | |                     .collect::<tmq::Multipart>()
[INFO] [stdout]     | |                                                -
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  37 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.40.0/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.40.0/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `incoming` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed examples/push.rs (1 fix)
[INFO] [stderr]    Migrating examples/publish.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed examples/publish.rs (1 fix)
[INFO] [stderr]    Migrating tests/utils.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     for item in expected.into_iter() {
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 146 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |             assert_eq!(
[INFO] [stdout] 148 |                 msg?,
[INFO] [stdout]     |                 ----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 149 |                 item.into_iter().map(|i| i.into()).collect::<Multipart>()
[INFO] [stdout]     |                 ---------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/utils.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match stream.next().await { Some(msg) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 168 |             assert_eq!(msg?, expected);
[INFO] [stdout]     |                        ----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zmq-0.10.0/src/message.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Drop for Message {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s
[INFO] [stderr] crater-edition-check: tmq v0.5.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking tmq v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 116 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl_sink!(Sender, buffer, poller);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 134 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl_sink!(Sender, buffer, poller);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 184 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:47:1
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl_buffered_stream!(BufferedReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_buffered_stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 116 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl_sink!(SenderReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 134 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl_sink!(SenderReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 116 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl_sink!(Sender, buffer, poller);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 134 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl_sink!(Sender, buffer, poller);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 184 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:47:1
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl_buffered_stream!(BufferedReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_buffered_stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 116 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl_sink!(SenderReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/macros.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     ref $socket,
[INFO] [stdout]     |                     ^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout] 134 |                     ref mut $buffer,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/comm.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl_sink!(SenderReceiver, buffer, poller);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `impl_sink` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let &mut Self {
[INFO] [stdout]     |                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tmq` (lib) due to 5 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `tmq` (lib test) due to 5 previous errors
[INFO] running `Command { std: "docker" "inspect" "fdc2477e7674c176fa7718eced00b50e8bacc4ab1dab9b6adbcd854f20092c22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdc2477e7674c176fa7718eced00b50e8bacc4ab1dab9b6adbcd854f20092c22", kill_on_drop: false }`
[INFO] [stdout] fdc2477e7674c176fa7718eced00b50e8bacc4ab1dab9b6adbcd854f20092c22
